<?php
class InformeprocesosController extends AppController {

	var $name = 'Informeprocesos';
	var $uses=array('Informeproceso','Momento');
	var $helpers=array('Access');
	
	function index() {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		$this->Informeproceso->recursive = 0;		
		$user_id=$this->Access->getMy('id');
		//traer informes asignados al usuario loguiado
		$informes=$this->Informeproceso->find('all',array('conditions'=>array('Informeproceso.user_id'=>$user_id)));
		$this->set('informeprocesos', $this->paginate());
		$this->set(compact('informes'));
		
	}

	function view($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id) {
			$this->Session->setFlash(__('Invalid informeproceso', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('informeproceso', $this->Informeproceso->read(null, $id));
	}

	function add() {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!empty($this->data)) {
			$this->Informeproceso->create();
			if ($this->Informeproceso->save($this->data)) {
				$this->Session->setFlash(__('Informe del proceso Guardado', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('El informe del proceso no se pudo guardar.', true));
			}
		}
		$momentos = $this->Informeproceso->Momento->find('list',array('fields'=>array('Momento.id','Momento.nombre')));
		$users = $this->Informeproceso->User->find('list',array('fields'=>array('User.id','User.nombre')));
		$user_id=$this->Access->getMy('id');
		$this->set(compact('momentos', 'users', 'user_id'));
	}

	function edit($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid informeproceso', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Informeproceso->save($this->data)) {
				$this->Session->setFlash(__('El informe del proceso actualizado', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('El informe del proceso no se pudo actualizar.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Informeproceso->read(null, $id);
		}
		$momentos = $this->Informeproceso->Momento->find('list',array('fields'=>array('Momento.id','Momento.nombre')));
		$users = $this->Informeproceso->User->find('list',array('fields'=>array('User.id','User.nombre')));
		$this->set(compact('momentos', 'users', 'user_id'));
	}

	function delete($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id) {
			$this->Session->setFlash(__('Informe de Proceso Invalido', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Informeproceso->delete($id)) {
			$this->Session->setFlash(__('Informe de Proceso Eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Informe de proceso no se ha eliminado', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function informe_proceso_documento($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		$informes=$this->Informeproceso->find('all',array('conditions'=>array('Informeproceso.id'=>$id)));
		$momentos = $this->Informeproceso->Momento->find('list',array('fields'=>array('Momento.id','Momento.nombre')));
		$user_id=$this->Access->getMy('id');
		$this->set(compact('informes','informe_final','momentos'));	
	}
}
